package com.heihei.combine;

import com.heihei.combine.applist.*;
import com.heihei.config.ConfigProperties;
import com.heihei.decompression.DeComDemoExe;
import com.heihei.douyinvideotrans.DouYinVideoTransStart;
import com.heihei.transvideo.MergeVideo;
import com.heihei.transvideo.SplitVideoUtil;
import com.heihei.transvideo.TransVideo2Mp4;
import com.heihei.transvideo.TransVideo2Ts;
import com.heihei.util.FileUtilF;

import java.io.IOException;
import java.util.Scanner;

/**
 *  功能汇总
 *
 * @version 1.0
 * @since JDK1.8
 * @author duanhengfei
 * @date 2021年01月30日 23:09:25
 */
public class Combine {
    public static void main(String[] args) throws IOException {
        start();
    }

    /**
     * 功能聚合
     *
     * @param
     * @Return
     * @throws
     * @author duanhengfei
     * @date 2021年01月31日 13:51:47
     */
    public static void start() throws IOException {
        while(true) {
            System.out.println("================ Start ==================");
            System.out.println("请选择功能：");
            System.out.println(">> -1. 退出");
            System.out.println(">>  0. 刷新配置");
            System.out.println(">>  1. 压缩（交互式  默认压缩到当前文件夹，相同名称，格式zip）");
            System.out.println(">>  2. 解压（交互式）");
            System.out.println(">>  3. 压缩（并且列出一级文件列表）");
            System.out.println(">>  5. 生成gclone脚本 备份");
            System.out.println(">>  6. 生成gclone脚本 快速转存");
            System.out.println(">>  7. 自动gclone命令（单一命令生成）");
            System.out.println(">>  8. 录屏转码mp4（2000k）");
            System.out.println(">>  9. mp4合并");
            System.out.println(">>  10. 视频转码为ts格式");
            System.out.println(">>  11. ts格式视频合并为mp4");
            System.out.println(">>  12. 切分视频命令");
            System.out.println(">>  13. 抖音视频录屏转码_用于LAR直播自动录制的录屏文件");
            Scanner sc = FileUtilF.getSc();
            String s = sc.nextLine();
            Integer flag = null;
            try{
                flag = Integer.valueOf(s);
            } catch (Exception e) {
                System.out.println("输入有误，请重新输入");
                continue;
            }
            //开始选择功能
            switch (flag) {
                case -1:
                    System.out.println("退出");
                    return;
                case 0:
                    ConfigProperties.updateProperties();
                    break;
                case 1:
                    ComPress.start();
                    break;
                case 2:
                    DeComDemoExe.startDecompressExe();
                    break;
                case 3:
                    ComPress.start(true);
                    break;
                case 5:
                    //生成gclone拷贝脚本
                    GcloneGenerator.startBeiFen();
                    break;
                case 6:
                    //生成gclone快速转存脚本
                    GcloneGenerator.startKuaiSuZhuanCun();
                    break;
                case 7:
                    AutoGcloneCommand.start();
                    break;
                case 8:
                    TransVideo2Mp4.start();
                    break;
                case 9:
                    MergeVideo.start();
                    break;
                case 10:
                    TransVideo2Ts.start();
                    break;
                case 11:
                    MergeVideo.startMergeTsVideo();
                    break;
                case 12:
                    SplitVideoUtil.start();
                    break;
                case 13:
                    DouYinVideoTransStart.start();
                    break;
                default:
                    System.out.println("暂不支持所选功能，请重新选择");
            }
        }
    }



}
